package org.seedltd.upms.model.sys.vo;

import java.util.Date;

import org.seedltd.core.utils.tree.TreeNode;
import org.seedltd.core.jackson.annotation.ToUserJsonString;
import org.seedltd.upms.enums.EnableStatus;

import lombok.Getter;
import lombok.Setter;

/**
 * 部门表
 *
 * @author laizuan
 * @date 2020/08/06
 */
@Getter
@Setter
public class SysDeptVO extends TreeNode<SysDeptVO> {

    /**
     * 部门id
     */
    private Long deptId;

    /**
     * 父部门id
     */
    private Long parentId;

    /**
     * 部门名称
     */
    private String deptName;

    /**
     * 部门代码
     */
    private String deptCode;

    /**
     * 显示顺序
     */
    private Integer sortNo;

    /**
     * 负责人
     */
    private String leader;

    /**
     * 联系电话
     */
    private String phone;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 部门状态（1正常 0停用）
     */
    private EnableStatus enabled;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 创建人主键
     */
    @ToUserJsonString
    private Long createBy;

    /**
     * 修改人主键
     */
    private Long updateBy;


    @Override
    protected String getPid() {
        return this.parentId == null ? null:this.parentId.toString();
    }

    @Override
    protected Object getTid() {
        return this.getDeptId();
    }
}
